package cn.ppool.xmlmapper.sql;

import cn.ppool.xmlmapper.builder.parse.model.entry.SelectBO;

import java.lang.reflect.Method;
import java.util.List;
import java.util.Map;

public interface SelectObjectPackerService {
    Class<?> getReturnClass(SelectBO entryBO, Method method) throws Exception;

    Class<?> getBeanReturnClass(SelectBO entryBO, Method method, Class<?> returnType, List<Class<?>> returnGenericityType) throws Exception;

    Object resultMapPacker(SelectBO entryBO, String sql, Map<String, Object> allVar, Map<String, Object> sqlVar);

    Object resultBeanPacker(SelectBO entryBO, String sql, Map<String, Object> allVar, Map<String, Object> sqlVar);
}
